package com.ruoyi.order.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.order.domain.Product;
import com.ruoyi.order.domain.Vo.ProductVo;
import com.ruoyi.order.domain.app.Vo.*;

/**
 * 产品表Service接口
 *
 * @author ruoyi
 * @date 2022-02-04
 */
public interface IProductService extends IService<Product> {
    /**
     * 查询产品表
     *
     * @param productID 产品表主键
     * @return 产品表
     */
    Product selectProductByProductID(Integer productID);

    /**
     * 查询产品表列表
     *
     * @param product 产品表
     * @return 产品表集合
     */
    List<Product> selectProductList(Product product);

    /**
     * 新增产品表
     *
     * @param product 产品表
     * @return 结果
     */
    int insertProduct(Product product);

    /**
     * 修改产品表
     *
     * @param product 产品表
     * @return 结果
     */
    int updateProduct(Product product);

    /**
     * 批量删除产品表
     *
     * @param productIDs 需要删除的产品表主键集合
     * @return 结果
     */
    int deleteProductByProductIDs(String productIDs);

    /**
     * 删除产品表信息
     *
     * @param productID 产品表主键
     * @return 结果
     */
    int deleteProductByProductID(Integer productID);


    List<ProductVo> getProductPages(String productName);

    List<ProductVo> getProductPagesList();

    List<Banner> getProductImgs();

    /**
     * 根据分类id获取商品
     * @param categoryId
     * @return
     */
    List<ProductViewDetail> getsearchProdPage(Integer categoryId);

    List<SkuVo> getSku(Integer prodId);

    ProdInfoResultVo getProdInfo(Integer prodId);

    ProductViewResultVo getSearchProdPageByprodName(String prodName, Integer current, Integer size);
}
